package com.ly.heart.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.ly.common.core.domain.BaseVo;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ly.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.util.Date;

/**
 * 金蝶-财务模块基础数据-收付款用途对象 erp_king_base_receipt_pay_purpose_info
 *
 * @author wutao
 * @date 2024-06-20
 */
@TableName ( "erp_king_base_receipt_pay_purpose_info" )
@ApiModel ( value = "erp_king_base_receipt_pay_purpose_info对象", description = "金蝶-财务模块基础数据-收付款用途" )
@Data
public class KingBaseReceiptPayPurposeEntity extends BaseVo {
    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @TableId ( value = "id", type = IdType.INPUT )
    private String id;

    /**
     * 创建/使用组织Id,dialog走接口
     */
    @ApiModelProperty ( "创建/使用组织Id,dialog走接口" )
    @TableField ( "dept_id" )
    @Excel ( name = "创建/使用组织Id,dialog走接口" )
    private String deptId;

    /**
     * 编码
     */
    @ApiModelProperty ( "编码" )
    @TableField ( "biz_code" )
    @Excel ( name = "编码" )
    private String bizCode;

    /**
     * 名称
     */
    @ApiModelProperty ( "名称" )
    @TableField ( "title" )
    @Excel ( name = "名称" )
    private String title;

    /**
     * 收付款类型;1:付款;2:付款
     */
    @ApiModelProperty ( "收付款类型;0:收款;1:付款" )
    @TableField ( "receipt_pay_type" )
    @Excel ( name = "收付款类型;" )
    private String receiptPayType;

    /**
     * 描述
     */
    @ApiModelProperty ( "描述" )
    @TableField ( "purpose_desc" )
    @Excel ( name = "描述" )
    private String purposeDesc;

    /**
     * 业务类型,select走字典
     */
    @ApiModelProperty ( "业务类型；" +
            "1：销售业务；\n" +
            "2：采购业务；\n" +
            "3：其他业务；\n" +
            "4：工资发放；" )
    @TableField ( "biz_tyep" )
    @Excel ( name = "业务类型" )
    private String bizTyep;

    /**
     * 数据状态,select走字典
     */
    @ApiModelProperty ( "数据状态" )
    @TableField ( "data_status" )
    @Excel ( name = "数据状态" )
    private String dataStatus;

    /**
     * $column.columnComment
     */
    @ApiModelProperty ( "是否计入往来；1：是；2：否" )
    @TableField ( "is_transaction" )
    @Excel ( name = "是否计入往来" )
    private Integer isTransaction;

    /**
     * $column.columnComment
     */
    @ApiModelProperty ( "是否发送金蝶；1：是；2：否" )
    @TableField ( "is_send" )
    @Excel ( name = "是否发送金蝶" )
    private Integer isSend;

    @ApiModelProperty ( "创建人" )
    @TableField ( "create_by" )
    private String createBy;

    @ApiModelProperty ( "创建时间" )
    @TableField ( "create_time" )
    private Date createTime;

    @ApiModelProperty ( "更新人" )
    @TableField ( "update_by" )
    private String updateBy;

    @ApiModelProperty ( "更新时间" )
    @TableField ( "update_time" )
    private Date updateTime;

    @ApiModelProperty ( "是否禁用；1：正常；2：禁用" )
    @TableField ( "is_disable" )
    @Excel ( name = "是否禁用" )
    private Integer isDisabled;

    /**
     * $column.columnComment
     */
    @ApiModelProperty ( "数据状态,select走字典" )
    @TableField ( "is_used" )
    @Excel ( name = "数据状态,select走字典" )
    private Integer isUsed;

    @ApiModelProperty ("是否可用")
    @TableField ("is_del")
    @Excel (name = "是否可用")
    private Integer isDel;

    @Override
    public String toString () {
        return new ToStringBuilder ( this, ToStringStyle.MULTI_LINE_STYLE )
                .append ( "id", getId () )
                .append ( "deptId", getDeptId () )
                .append ( "bizCode", getBizCode () )
                .append ( "title", getTitle () )
                .append ( "receiptPayType", getReceiptPayType () )
                .append ( "purposeDesc", getPurposeDesc () )
                .append ( "bizTyep", getBizTyep () )
                .append ( "dataStatus", getDataStatus () )
                .append ( "isUsed", getIsUsed () )
                .toString ();
    }
}
